package com.xiaoyu.commonlib.utils;

import android.content.Context;
import android.graphics.Color;
import android.view.View;
import android.widget.TextView;

import com.techfansy.pickerTimer.Timer.TimePickerView;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * 时间弹框选择样式设置
 */
public  class YMDTimeShow {


    public static void setTimePop(Context context, final TextView dateTime) {
        setTimePop(context,dateTime,0);
    }
    public static void setTimePop(Context context, TextView dateTime, long time){
        Calendar calendar = null;
        if (calendar == null){
            calendar = Calendar.getInstance();
        }
        if (time != 0)
            calendar.setTimeInMillis(time);
        getTimePickerView(context,dateTime,calendar);
    }
    private static TimePickerView getTimePickerView(Context context, final TextView dateTime, Calendar calendar){
        TimePickerView pvTime = new TimePickerView.Builder(context,
                new TimePickerView.OnTimeSelectListener() {
                    @Override
                    public void onTimeSelect(Date date, View v) {

                        DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");
                        dateTime.setText(dateFormat.format(date));
                    }
                }
        ).setIsThreeMonth(false)//设置是否是三个月之内
                .setType(TimePickerView.Type.YEAR_MONTH_DAY)//默认全部显示
                .setCancelText("取消")//取消按钮文字
                .setSubmitText("确定")//确认按钮文字
                .setContentSize(15)//滚轮文字大小

                .setTitleSize(20)//标题文字大小
//                        .setTitleText("请选择时间")//标题文字
                .setOutSideCancelable(true)//点击屏幕，点在控件外部范围时，是否取消显示
                .isCyclic(true)//是否循环滚动
                .setTextColorCenter(Color.BLACK)//设置选中项的颜色
                .setTitleColor(Color.BLACK)//标题文字颜色
                .setSubmitColor(Color.WHITE)//确定按钮文字颜色

                .setLineSpacingMultiplier(3)
                         .setSubmitHeight(45)//确定按钮的高度
//                        .setTitleBgColor(0xFF666666)//标题背景颜色 Night mode
//                        .setBgColor(0xFF333333)//滚轮背景颜色 Night mode
//                        .setRange(calendar.get(Calendar.YEAR) - 20, calendar.get(Calendar.YEAR) + 20)//默认是1900-2100年
                .setDate(calendar)// 如果不设置的话，默认是系统时间*/
//                        .setRangDate(startDate,endDate)//起始终止年月日设定
//                        .setLabel("年","月","日","时","分","秒")
                .isCenterLabel(false) //是否只显示中间选中项的label文字，false则每项item全部都带有label。
//                        .isDialog(true)//是否显示为对话框样式
                .build();
        pvTime.setDate(calendar);//注：根据需求来决定是否使用该方法（一般是精确到秒的情况），此项可以在弹出选择器的时候重新设置当前时间，避免在初始化之后由于时间已经设定，导致选中时间与当前时间不匹配的问题。
        pvTime.show();
        return pvTime;
    }
}
